Proj-03
Simple Netease Cloudmusic Lyrics Downloader
简易网易云音乐歌词下载器
描述
我们将要编写程序,从网易云音乐平台上下载 LRC 格式歌词文件到本地。
其实在 GitHub 上也有很多做这个的项目了,可以去看看。
网易云音乐有一些散落的未加密的接口,我们只需要利用它们。
嗯…… 部分时候还是要去翻网页源代码()
准备
依赖
照例创建项目文件夹,创建虚拟环境,安装依赖。
bash
pip install requests types-requests retry
1
部分库到了溜流程环节再装
网易云音乐的 ID
打开网易云的网页端,让我们来认识一下 wyy 的 id 们。
在单曲页面,URL 中的 id
字段就是单曲 ID,记作 music_id
或 mid
在专辑页面的就是专辑 ID,记作 album_id
或 aid
以此类推,但我们这次只用到这俩。
在 wyy 客户端复制的链接中也能找到 id。(如果是短链就重定向一下就好)
开写
溜一遍流程()
将未加密的网易云音乐接口和解析网页的代码都封装为函数,保存到 ncmapis.py
中。
将其余部分 细细切做臊子 按功能切分为若干函数,再写一写与用户交互的部分 ,GUI 还是 TUI 随你
功能区分得很开的部分也可以切成两个文件,当作模块导入。
写完了喵
啊?这就没了?
嗯是的,感觉没什么可写的了()
完成的代码见 source
还值得改进的地方:
GUI?(x你老惦记着你那 GUI 干什么我说- 多音乐平台支持?
我翻到了一些别的 API,试着利用起来吧 w
- 支持自定义各种参数?
比如自动重试次数、输出文件名格式、输出文件编码什么的
- 支持歌词下载前预览?
- 支持在终端直接打印歌词?
a 这个我还真忘了
不止这些,你能想到更多 w
去看看补注吧,求求了喵 ww
突然发现到目前为止我们都只涉及到了函数式编程啊啊非常抱歉!往后我会尝试写写面向对象?不过因为我自己也写得有点少所以请务必不要有什么期待……
这么一说在这个 Proj 里完全可以为每首歌、每张砖、每个艺术家都设计对象啊 w